Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sync upstream main #133

Merged
merged 581 commits into from
Sep 13, 2024
Merged

Sync upstream main #133

merged 581 commits into from
Sep 13, 2024

Conversation

turkenh
Copy link
Member

@turkenh turkenh commented Sep 11, 2024

Description of your changes

This PR synchronises the latest main of crossplane/crossplane to here.
It adapts the changes we do in this fork to the new earthly approach 🤞

I have:

  • Read and followed Crossplane's [contribution process].
  • Run make reviewable to ensure this PR is ready for review.
  • Added or updated unit tests.
  • Added or updated e2e tests.
  • Linked a PR or a [docs tracking issue] to [document this change].
  • Added backport release-x.y labels to auto-backport this PR.

negz and others added 30 commits May 20, 2024 15:37
Crossplane uses a controller engine to dynamically start claim and XR
controllers when a new XRD is installed.

Before this commit, each controller gets at least one cache. This is
because when I built this functionality, you couldn't stop a single
informer within a cache (a cache is basically a map of informers by
GVK).

When realtime composition is enabled, there are even more caches. One
per composed resource GVK. A GVK routed cache routes cache lookups to
these various delegate caches.

Meanwhile, controller-runtime recently made it possible to stop an
informer within a cache. It's also been possible to remove an event
handler from an informer for some time (since Kubernetes 1.26).

kubernetes-sigs/controller-runtime#2285
kubernetes-sigs/controller-runtime#2046

This commit uses a single client, backed by a single cache, across all
dynamic controllers (specifically the definition, offered, claim, and
XR controllers).

Compared to the current implementation, this commit:

* Takes fewer global locks when realtime compositions are enabled.
  Locking is now mostly at the controller scope.
* Works with the breaking changes to source.Source introduced in
  controller-runtime v0.18. :)

I think this makes the realtime composition code a little easier to
follow by consolodating it into the ControllerEngine, but that's
pretty subjective.

Signed-off-by: Nic Cope <[email protected]>
Signed-off-by: Neeraj Nagure <[email protected]>
Signed-off-by: Chuan-Yen Chiang <[email protected]>
Signed-off-by: Chuan-Yen Chiang <[email protected]>
Use a single cache for all dynamic controllers (i.e. XRs and claims)
Signed-off-by: Chuan-Yen Chiang <[email protected]>
…kout-digest

chore(deps): update actions/checkout digest to a5ac7e5 (master)
Signed-off-by: Neeraj Nagure <[email protected]>
Signed-off-by: Neeraj Nagure <[email protected]>
Unset some UP env vars to avoid unexpect test behaviour.
…l-action-digest

chore(deps): update github/codeql-action digest to 9fdb3e4 (master)
…ocker-docker-credential-helpers-0.x

fix(deps): update module github.com/docker/docker-credential-helpers to v0.8.2 (master)
Signed-off-by: Philippe Scorsolini <[email protected]>
Signed-off-by: Philippe Scorsolini <[email protected]>
Signed-off-by: Philippe Scorsolini <[email protected]>
Signed-off-by: Philippe Scorsolini <[email protected]>
jbw976 and others added 14 commits September 4, 2024 11:55
Code updates after renaming `master` → `main`
Update e2e tests by adding a description for `features.New` calls
They were made immutable by mistake.

Signed-off-by: Nic Cope <[email protected]>
…ut-digest

chore(deps): update actions/checkout digest to 692973e (main)
Make composition revision numbers mutable
Delete packages in lock having same name and distinct identifier.

Signed-off-by: Jose Francisco Dillet Alfonso <[email protected]>
Signed-off-by: Jose Francisco Dillet Alfonso <[email protected]>
…move-beta

fix(ga): remove beta for CompositionModePipeline
Fix "Missing node in tree error" after updating a package source
Retry on conflict during CRD dry-run updates in XRD validation webhook
@github-advanced-security
Copy link

This pull request sets up GitHub code scanning for this repository. Once the scans have completed and the checks have passed, the analysis results for this pull request branch will appear on this overview. Once you merge this pull request, the 'Security' tab will show more code scanning analysis results (for example, for the default branch). Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results. For more information about GitHub code scanning, check out the documentation.

@turkenh turkenh force-pushed the sync-upstream-main branch 3 times, most recently from d8ba8f6 to 6bb9b3c Compare September 11, 2024 14:49
@turkenh
Copy link
Member Author

turkenh commented Sep 12, 2024

Here is our divergence from upstream for workflows and Earthfile:

workflows-diff.txt

Earthfile-diff.txt

Earthfile Outdated Show resolved Hide resolved
Copy link
Contributor

@phisco phisco left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should be fine 🤞

@turkenh turkenh merged commit eeadf2a into upbound:main Sep 13, 2024
13 of 14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.